/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.its.dsw2.vista;

import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import mx.its.dsw2.biblioteca.Bl.CategoriaBlLocal;
import mx.its.dsw2.biblioteca.Modelo.Categoria;

/**
 *
 * @author Yessy
 */
@ManagedBean
@SessionScoped
public class CategoryBean {

    @EJB
    private CategoriaBlLocal categoriaBl;
    //variables locales
    private List<Categoria> lista;
    private Categoria categoria;
    private String accion;
    

    /**
     * Creates a new instance of CategoryBean
     */
    public CategoryBean() {
        categoria = new Categoria();
    }
    //get & set

    public Categoria getCategoria() {
        return categoria;
    }

    public void setCategoria(Categoria categoria) {
        this.categoria = categoria;
    }

    public List<Categoria> getLista() {
        lista = categoriaBl.getAll();
        return lista;
    }

    public String procesarAccion() {
        if (accion.equalsIgnoreCase("Nuevo")) {
            categoriaBl.register(categoria);
        } else {
            if (accion.equalsIgnoreCase("Editar")) {
                categoriaBl.modify(categoria);
            } else {
                if (accion.equalsIgnoreCase("Eliminar")) {
                    categoriaBl.delete(categoria);
                }
            }
        }

        //categoriaBl.register(categoria);

        return "CategoriaLista";
    }

    //Listeners
    public void prepararNuevoRegistro(ActionEvent evt) {
        accion = "Nuevo";
        categoria = new Categoria();
    }

    public void prepararEditar(ActionEvent evt) {
        accion = "Editar";
        System.out.println(evt.getComponent().getClientId());
        int index = Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
        categoria = lista.get(index);
    }

    public void prepararEliminar(ActionEvent evt) {
        accion = "Eliminar";
        System.out.println(evt.getComponent().getClientId());
        int index = Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
        categoria = lista.get(index);

    }
}
